﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

namespace RenShiKaoQin.Account
{
    public partial class Login1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            /*
            tbAnouncement.Text = "职工请假需登陆医院人事相关网站（网址：http://woutsrv:8086/QJ），网上填写请假、休假申请，并打印请假单。\r\n2、职工离岗3天及以上的，经科室同意后，按照医院相关规定及审批权限报请相关职能部门审批后交人力资源部备案（东区职工交综合办公室、黄岛院区职工交行政管理部，由专人汇总后报人力资源部）。\r\n3、离岗2天及以下的\r\n（1）科主任、护士长和职能部门负责人（含正、副职）须按审批权限请示汇报，经批准后方可离岗，一般不允许科室正、副职同时离岗、离开市区；\r\n（2）科室一般工作人员须经科室负责人批准后方可离岗。\r\n4、相关要求\r\n（1）卫生支农、院外会诊，、外出参观学习、参加会议或学习班、从事科研工作等由医院安排离岗，且离岗时间明确的，由相关职能部门代为其办理相关审批备案手续，个人不必填写请假单；\r\n（2）外出进修、上学、出国等已经医院批准，须在离岗前1周内将请假申请单在签署科室意见后，直接交人力资源部备案（东区交综合办公室、黄岛院区交行政管理部）；\r\n（3）休婚假、产假、护理假和、计划生育假的，科室同意后，须经计划生育办公室审核后，再按审批权限审批；\r\n（4）休带薪假、探亲假、职业假的，按审批权限审批后，须报人力资源部复审后方可休假。";
             */
            /*
            tbAnouncement.Text = "本系统为医院在职职工休假、请假及各类因公外出申请审批系统，自2012年7月3日起进行试运行，本系统运行之前已通过原规定程序审批通过的各类假期和外出会议申请仍为有效，无需在本系统重新申请。";
             */
            tbAnouncement.Text = "各科室、各部门：\r\n《青医附院职工请假、休假管理规定》（青医附院院发[2012]56号文）已经印发，为保证管理规定的贯彻落实和顺利实施，现将有关问题通知如下：\r\n1、为进一步优化请假流程，职工请假、休假实行网上申请与审批，审批系统于7月3日起试运行，试运行期间如有疑问可电话咨询人力资源部，电话1817。\r\n2、系统试运行期间，实行网上审批和纸版请假单并行的方式，职工登陆系统填写请假申请后，打印请假单，按照审批权限和审批程序履行请假手续，原请假三联单不再使用。\r\n3、科教部会议、继教项目等外出审批系统同时开通，原纸版会议、继续教育项目审批表不再使用，外出审批相关问题如有疑问可电话咨询科教部。\r\n4、本系统运行之前已通过原规定程序审批通过的各类假期和外出会议、继教项目申请仍为有效，无需在本系统重新申请。";
            tbUserCode.Focus();
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            hrdbEntities ent = new hrdbEntities();
            var emps = from emp in ent.TEmployees where emp.FPublicID.Equals(tbUserCode.Text) select emp;
            if (emps.Any())
            {
                TEmployee employee = emps.Single();
                string id = employee.FEmployeeID;
                var kqemps = from tkqemps in ent.TKQEmployees where tkqemps.FEmployeeID.Equals(id) select tkqemps;
                if (kqemps.Any())
                {
                    TKQEmployee kqemployee = kqemps.Single();
                    if (tbUserPassword.Text.Equals(kqemployee.FPassword))
                    {
                        Session.Clear();
                        FormsAuthentication.RedirectFromLoginPage(id, false);
                    }
                    else
                    {
                        LoginFail();
                    }
                }
                else
                {
                    string pass=employee.FBirthday.HasValue?employee.FBirthday.Value.ToString("yyyyMMdd"):"000000";
                    ent.TKQEmployees.AddObject(TKQEmployee.CreateTKQEmployee(id, pass, false, false));
                    ent.SaveChanges();
                    if (pass.Equals(tbUserPassword.Text))
                    {
                        FormsAuthentication.RedirectFromLoginPage(id, false);
                    }
                    else
                    {
                        LoginFail();
                    }
                }
            }
            else
            {
                LoginFail();
            }
            ent.Dispose();
        }
        protected void LoginFail()
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "loginfail", "alert('工作编码或者密码错误！');", true);
        }
    }
}